package com.scada.inf;

import java.util.Map;

import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

import com.scada.model.bean.User;
import com.scada.model.bean.vo.UserRoleVO;
import com.scada.model.bean.vo.UserVO;
import com.scada.model.result.PageInfo;
import com.scada.model.result.ResponseBean;

/** 
 * @ClassName: IUserService 
 * @Description: 系统用户管理service
 * @date: 2016年8月30日 下午4:51:20  
 */
@WebService
@SOAPBinding(style = Style.RPC)
public interface UserVisitor {
	
	/** 
	 * @FunctionName: insert
	 * @Description: 新增用户
	 * @author: 黄胜
	 * @date: 2016年8月30日 下午5:09:46 
	 * @param user 用户对象，roleIds : 角色id字符串,用逗号分隔
	 * @return 返回数据库ID
	 */
	public ResponseBean insert(User user,String roleIds);
	
	/** 
	 * @FunctionName: update
	 * @Description: 修改用户
	 * @author: 黄胜
	 * @date: 2016年8月30日 下午5:10:34 
	 * @param user 用户对象，
	 * @param roleIds 角色id字符串,用逗号分隔
	 * @return 修改的记录数
	 */
	public ResponseBean update(User user,String roleIds);
	
	/** 
	 * @FunctionName: findUserByLoginName
	 * @Description: 通过用户名 user对象
	 * @author: 沈浩
	 * @date: 2016年8月30日 下午5:11:53 
	 * @param username
	 * @return 返回user对象
	 */
	public User findUserByLoginName(Map<String,Object> map);
	
	/** 
	 * @FunctionName: findUserById
	 * @Description: 通过ID查询user对象
	 * @author: 沈浩
	 * @date: 2016年8月30日 下午5:12:20 
	 * @param id
	 * @return 返回user对象
	 */
	public UserRoleVO findUserDetail(int id);
	

	/** 
	 * @FunctionName: selectByPrimaryKey
	 * @Description: 通过菜单id查找权限
	 * @author: 黄胜
	 * @date: 2016年10月28日 下午3:56:55 
	 * @param 
	 * @return Permission
	 */
	public PageInfo<UserVO> findDataList(PageInfo<UserVO> pageInfo);
	
	/** 
	 * @FunctionName: updateState
	 * @Description: 更新状态，包括启用禁用删除操作等等
	 * @author: 黄胜
	 * @date: 2016年11月8日 下午3:29:21 
	 * @param method ，uIds
	 * @return 
	 */
	public ResponseBean updateState(String uIds,int state ,String method);
	
	/**
	 * 
	* @Title: updatePassword
	* @Description: 修改密码
	* @param：@param newPad
	* @param：@param id
	* @param：@return
	* @return：ResponseBean
	* @author：高骏杰
	* @date：2017年2月24日 下午5:45:53
	 */
	public ResponseBean updatePassword(String newPad, Integer id);
	
	/**
	 * 
	 * @Title: updatePassword
	* @Description: 修改登入时间
	* @param：@param newPad
	* @param：@param id
	* @param：@return
	* @return：ResponseBean
	* @author：高骏杰
	* @date：2017年7月4日 下午10:26:53
	 */
	public ResponseBean updateLoginDate(User user);
	
	public ResponseBean usernameExist(String loginName,String userId);
}
